// 判断值类型是否是对象类型
function isObject(obj) {
  return typeof obj === 'object'&& obj != null 
}
function isEqual(obj1,obj2) {
  if (!isObject(obj1)||!isObject(obj2)) {
    //值类型 注意 参与equal到一般不会是函数
    return obj1 === obj2
  }
  if (obj1 === obj2) {
    return true
  }
  //两个都是引用类型 对象或者数组，且不相等
  // 先取出obj1 和obj2到keys，比较个数
  const obj1Keys = Object.keys(obj1)
  const obj2Keys = Object.keys(obj2)
  if (obj1Keys.length !== obj2Keys.length) {
    return false
  }
  // 以obj1为基准，和obj2 一次递归比较
  for(let key in obj1) {
    // 比较当前key到val--递归
    const res = isEqual(obj1[key],obj2[key])
    if (!res) {
      return false
    }
  }
  // 全相等
  return true
}


const obj1 = {
  a:100,
  b:{
    x:100,
    y:200
  }
}

const obj1 = {
  a:100,
  b:{
    x:100,
    y:200
  }
}

// console.log(obj1 === obj2);
